use the autogen.sh of GIMP as a base for babl's autogen.sh. Among other
authorMichael Schumacher <schumaml@cvs.gnome.org>
Tue, 12 Sep 2006 20:19:29 +0000 (20:19 +0000)
committerMichael Schumacher <schumaml@src.gnome.org>
Tue, 12 Sep 2006 20:19:29 +0000 (20:19 +0000)
2006-09-12  Michael Schumacher  <schumaml@cvs.gnome.org>

* autogen.sh: use the autogen.sh of GIMP as a base for babl's
autogen.sh. Among other things, this enables maintainer mode by
default.

ChangeLog
autogen.sh

index 4235d8ebe7cd25d8c32406c2da62501c2c63f528..6036667591b76525da0ef9fb7d1d6fb020025b88 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-12  Michael Schumacher  <schumaml@cvs.gnome.org>
+
+       * autogen.sh: use the autogen.sh of GIMP as a base for babl's
+       autogen.sh. Among other things, this enables maintainer mode by
+       default. 
+
 2006-09-10  Kevin Cozens  <kcozens@cvs.gnome.org>
 
        * babl/babl-classes.h
index d4de7b0a59d2c60e12fbb4a0268157adc2f4dd41..c69cfd714f8be9c1cc3c333a7a7dcd3114c3bf71 100755 (executable)
-#! /bin/sh
+#!/bin/sh 
 
-# $Id$
+# This script does all the magic calls to automake/autoconf and
+# friends that are needed to configure a cvs checkout.  As described in
+# the file HACKING you need a couple of extra tools to run this script
+# successfully.
 #
-# Copyright (c) 2002  Daniel Elstner  <daniel.elstner@gmx.net>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License VERSION 2 as
-# published by the Free Software Foundation.  You are not allowed to
-# use any other version of the license; unless you got the explicit
-# permission from the author to do so.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# If you are compiling from a released tarball you don't need these
+# tools and you shouldn't use this script.  Just call ./configure
+# directly.
+
+ACLOCAL=${ACLOCAL-aclocal-1.9}
+AUTOCONF=${AUTOCONF-autoconf}
+AUTOHEADER=${AUTOHEADER-autoheader}
+AUTOMAKE=${AUTOMAKE-automake-1.9}
+LIBTOOLIZE=${LIBTOOLIZE-libtoolize}
+
+AUTOCONF_REQUIRED_VERSION=2.54
+AUTOMAKE_REQUIRED_VERSION=1.8.3
+LIBTOOL_REQUIRED_VERSION=1.4
+LIBTOOL_WIN32=1.5
+
+
+PROJECT="BABL"
+TEST_TYPE=-d
+
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+ORIGDIR=`pwd`
+cd $srcdir
+
+
+check_version ()
+{
+    VERSION_A=$1
+    VERSION_B=$2
+
+    save_ifs="$IFS"
+    IFS=.
+    set dummy $VERSION_A 0 0 0
+    MAJOR_A=$2
+    MINOR_A=$3
+    MICRO_A=$4
+    set dummy $VERSION_B 0 0 0
+    MAJOR_B=$2
+    MINOR_B=$3
+    MICRO_B=$4
+    IFS="$save_ifs"
+
+    if expr "$MAJOR_A" = "$MAJOR_B" > /dev/null; then
+        if expr "$MINOR_A" \> "$MINOR_B" > /dev/null; then
+           echo "yes (version $VERSION_A)"
+        elif expr "$MINOR_A" = "$MINOR_B" > /dev/null; then
+            if expr "$MICRO_A" \>= "$MICRO_B" > /dev/null; then
+               echo "yes (version $VERSION_A)"
+            else
+                echo "Too old (version $VERSION_A)"
+                DIE=1
+            fi
+        else
+            echo "Too old (version $VERSION_A)"
+            DIE=1
+        fi
+    elif expr "$MAJOR_A" \> "$MAJOR_B" > /dev/null; then
+       echo "Major version might be too new ($VERSION_A)"
+    else
+       echo "Too old (version $VERSION_A)"
+       DIE=1
+    fi
+}
+
+echo
+echo "I am testing that you have the tools required to build the"
+echo "$PROJECT from CVS. This test is not foolproof,"
+echo "so if anything goes wrong, see the file HACKING for more information..."
+echo
+
+DIE=0
+
+
+OS=`uname -s`
+case $OS in 
+    *YGWIN* | *INGW*)
+       echo "Looks like Win32, you will need libtool $LIBTOOL_WIN32 or newer."
+       echo
+       LIBTOOL_REQUIRED_VERSION=$LIBTOOL_WIN32
+       ;;
+esac
+
+
+echo -n "checking for libtool >= $LIBTOOL_REQUIRED_VERSION ... "
+if ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then
+   LIBTOOLIZE=$LIBTOOLIZE
+elif (glibtoolize --version) < /dev/null > /dev/null 2>&1; then
+   LIBTOOLIZE=glibtoolize
+else
+    echo
+    echo "  You must have libtool installed to compile $PROJECT."
+    echo "  Install the appropriate package for your distribution,"
+    echo "  or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+    echo
+    DIE=1
+fi
+
+if test x$LIBTOOLIZE != x; then
+    VER=`$LIBTOOLIZE --version \
+         | grep libtool | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
+    check_version $VER $LIBTOOL_REQUIRED_VERSION
+fi
 
 
-dir=`echo "$0" | sed 's,[^/]*$,,'`
-test "x${dir}" = "x" && dir='.'
+echo -n "checking for autoconf >= $AUTOCONF_REQUIRED_VERSION ... "
+if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1; then
+    VER=`$AUTOCONF --version | head -n 1 \
+         | grep -iw autoconf | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
+    check_version $VER $AUTOCONF_REQUIRED_VERSION
+else
+    echo
+    echo "  You must have autoconf installed to compile $PROJECT."
+    echo "  Download the appropriate package for your distribution,"
+    echo "  or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/"
+    echo
+    DIE=1;
+fi
+
+
+echo -n "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
+if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=$AUTOMAKE
+   ACLOCAL=$ACLOCAL
+elif (automake-1.9 --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake-1.9
+   ACLOCAL=aclocal-1.9
+elif (automake-1.8 --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake-1.8
+   ACLOCAL=aclocal-1.8
+else
+    echo
+    echo "  You must have automake $AUTOMAKE_REQUIRED_VERSION or newer installed to compile $PROJECT."
+    echo "  Download the appropriate package for your distribution,"
+    echo "  or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
+    echo
+    DIE=1
+fi
+
+if test x$AUTOMAKE != x; then
+    VER=`$AUTOMAKE --version \
+         | grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
+    check_version $VER $AUTOMAKE_REQUIRED_VERSION
+fi
 
-if test "x`cd "${dir}" 2>/dev/null && pwd`" != "x`pwd`"
-then
-    echo "This script must be executed directly from the source directory."
+
+if test "$DIE" -eq 1; then
+    echo
+    echo "Please install/upgrade the missing tools and call me again."
+    echo       
     exit 1
 fi
 
-rm -f config.cache acconfig.h
 
-echo "- libtoolize."           && \
-libtoolize --force             && \
-echo "- aclocal."              && \
-aclocal                                && \
-echo "- autoconf."             && \
-autoconf                       && \
-echo "- autoheader."           && \
-autoheader                     && \
-echo "- automake."             && \
-automake --add-missing --gnu   && \
-echo                           && \
-./configure "$@"               && exit 0
-#echo                          && \
-#make                            && exit 0
+echo
+echo "I am going to run ./configure with the following arguments:"
+echo
+echo "  --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS $@"
+echo
+
+if test -z "$*"; then
+    echo "If you wish to pass additional arguments, please specify them "
+    echo "on the $0 command line or set the AUTOGEN_CONFIGURE_ARGS "
+    echo "environment variable."
+    echo
+fi
+
+
+if test -z "$ACLOCAL_FLAGS"; then
 
-exit 1
+    acdir=`$ACLOCAL --print-ac-dir`
+    m4list="pkg.m4"
+
+    for file in $m4list
+    do
+       if [ ! -f "$acdir/$file" ]; then
+           echo
+           echo "WARNING: aclocal's directory is $acdir, but..."
+            echo "         no file $acdir/$file"
+            echo "         You may see fatal macro warnings below."
+            echo "         If these files are installed in /some/dir, set the "
+            echo "         ACLOCAL_FLAGS environment variable to \"-I /some/dir\""
+            echo "         or install $acdir/$file."
+            echo
+        fi
+    done
+fi
+
+rm -rf autom4te.cache
+
+$ACLOCAL $ACLOCAL_FLAGS
+RC=$?
+if test $RC -ne 0; then
+   echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
+   exit $RC
+fi
+
+$LIBTOOLIZE --force || exit $?
+
+# optionally feature autoheader
+($AUTOHEADER --version)  < /dev/null > /dev/null 2>&1 && $AUTOHEADER || exit 1
+
+$AUTOMAKE --add-missing || exit $?
+$AUTOCONF || exit $?
+
+cd $ORIGDIR
+
+$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@"
+RC=$?
+if test $RC -ne 0; then
+  echo
+  echo "Configure failed or did not finish!"
+  exit $RC
+fi
 
+echo
+echo "Now type 'make' to compile $PROJECT."